1. Field of the Invention
This invention relates to two-dimensional spatial transformation systems which perform two-dimensional spatial transformations on video images to provide special effects for video processing.
2. Prior Art
In computer graphics and video editing systems, original video images are frequently subjected to two-dimensional spatial transformation in a two-dimensional space of a video display to provide perspective effects as well as other special effects of graphics. The spatial transformation is fundamentally equivalent to the coordinates conversion process which is expressed by mathematical expressions as follows:
[Math 1] ##EQU1##
In the above, numerals `u` and `v` denote two-dimensional coordinates values of an original video image before the transformation, whilst numbers `x` and `y` denote two-dimensional coordinates values of a video image after the transformation. In addition, `M` denotes a transformation matrix. In the actual transformation of video images, an input pixel location (u, v) is calculated with respect to an output pixel (x, y). That is, the system performs a calculation process to sequentially produce input pixel locations with respect to output pixels respectively by solving a transformation matrix as follows:
[Math 2] ##EQU2##
However, the above calculation method requires complicated calculations. This is a problem of the conventional system that the calculations are hard to be performed in real time. In addition, the above calculation method requires a two-dimensional filter for removing folding distortion which occurs due to sampling when transforming images to contract (or diminish). For this reason, there is a problem that the above calculation method requires a complicated configuration.
In order to solve the above problems, some papers such as the paper of U.S. Pat. No. 4,463,372 provide a so-called two-pass method which aims for reduction of the time of video processing. According to this method, operations of the two-dimensional spatial transformation are divided into two separate transformations which relate to two axes perpendicular to each other.
Next, a description will be given with respect to the two-pass method. Now, suppose that coordinates [x,y] is defined as follows:
[Math 3]
[x, y]=T(u,v)=[X(u,v), Y(u,v)] PA1 [x, v]=[Fv(u), v] Fv(u)=X(u,v) PA1 [x, y]=[x, Gx(v)] Gx(v)=Y(Hx(u), v)
The above equation is resolved into two passes by which transformations are performed with respect to x-axis and y-axis independently. So, calculations are sequentially performed with respect to the two passes.
[Math 4]
(First pass)
(Second pass)
When placing the above mathematical expressions of [Math 4] in [Math 1], it is possible to obtain mathematical equations of [Math 5] with respect to a value of `x` and a value of `y` as follows;
[Math 5] ##EQU3##
FIG. 26 shows an example of the video processing system employing the two-dimensional spatial transformation according to the two-pass method.
Video signals representing an original video image are input to a terminal of "Video In". The video signals are written into a first bank of a video memory 51, having a double-buffer configuration, in accordance with a write address WA0 output from a synchronous address generator 54. Herein, the video signals are written into the first bank of the video memory 51 in real time in accordance with a normal scanning order. A second bank of the video memory 51 stores a video image of a previous field (or a previous frame). Data of the original video image are read from the video memory 51 in accordance with a read address RA1 of a first pass (Pass1) address generator 55. Then, the data of the original video image are written into a first bank of a video memory 52, having a double-buffer configuration, in accordance with a write address WA1 of a sequential scan generator 56. Herein, the data are sequentially written into the first bank of the video memory 52 in accordance with a normal scan order. A second bank of the video memory 52 stores an intermediate video image of a previous field (or a previous frame) after completion of the first pass. So, read/write operations are performed with respect to data of the intemediate video image. That is, the data of the intermediate video image are read from the video memory 52 in accordance with a read address RA2 output from a second pass (Pass2) address generator 57; then the data are written into an output buffer 53. Herein, the read/write operations of the data of the intermediate video image are performed simultaneouly with read/write operations of the data of the original video image with regard to the video memory 52. The output buffer 53 has a double-buffer configuration as well. Herein, data of a transformed video image are consecutively read from an output bank of the output buffer 53 in real time. The data of the transformed video image are output to a terminal "Video Out". Banks of the video memories 51, 52 and banks of the output buffer 53 are respectively changed over by each field or by each frame. So, read/write operations described above are performed in real time with respect to each field or each frame. The address generators 55 and 57 sequentially generate the read addresses RA1 and RA2 in accordance with the aforementioned calculation process of [Math 5].
The aforementioned two-dimensional spatial transformation of the two-pass method suffers from a problem as follows:
Normally, a dynamic random-access memory (i.e., DRAM) is used for the video memory. When using the DRAM, it is necessary to change over a row address with respect to each pixel at a vertical transformation mode. That is, a RAS cycle (where RAS is an abbreviation for `Row Address Strobe`) is required for each pixel. For this reason, much access time is required for the vertical transformation. Due to such a reason, it is impossible to perform high-definition image processing with respect to a large number of pixels.
In order to solve the above problem, it is possible to use a SRAM (i.e., static random-access memory) instead of the DRAM for the video memory. In general, however, the SRAM requires a higher cost than the DRAM. So, if the video memory is constructed to have a capability to store data of four frames, the system as a whole should require much cost. This is another problem that the conventional system suffers from.
In the conventional system employing the two-pass method, division calculations are required with respect to each pixel as shown in [Math 5]. So, the scale of the hardware of the conventional system becomes inevitably complicated to enable real-time calculations. For this reason, application of the aforementioned two-pass method is limited to the business use in the broadcasting stations, for example. Therefore, the conventional technology suffers from a problem that the two-dimensional spatial transformation system of the two-pass method is hard to be used in the home electronics.